#!/usr/bin/env node
// cli 文件必须有这样的文件头
// 如果是 linux 或者 macOS 还需要修改文件权限为 755
// chmod 755 cli.js

const fs = require('fs');
const path = require('path');
const Inquirer = require('inquirer');
const ejs = require('ejs');

Inquirer.prompt([
  {
    type: 'input',
    name: 'name',
    message: 'component name',
    default: 'MyComponent',
  },
]).then((answers) => {
  // console.log(answers) // {name: 'xxx'}

  // 模板目录
  const tempDir = path.join(__dirname, 'templates');
  // 目标目录
  // const desDir = process.cwd()
  const desDir = path.join(__dirname, `src/components`);

  // 将模版下的文件全部转到目标目录
  fs.readdir(tempDir, (err, files) => {
    if (err) throw err;

    files.forEach((file) => {
      // 通过 ejs 模版引擎渲染文件
      ejs.renderFile(path.join(tempDir, file), answers, (err, resule) => {
        if (err) throw err;
        console.log(path.join(desDir, file));
        // 将结果写入目标文件路径
        fs.writeFileSync(path.join(desDir, file), resule);
      });
    });
  });
});
